package com.iwhalecloud.bss.kite.cucc.client.api.scene;

import java.util.List;

import com.iwhalecloud.bss.kite.cucc.client.dto.pos.KitePosAttrDTO;
import com.iwhalecloud.bss.kite.cucc.client.dto.pos.KitePosDTO;
import com.iwhalecloud.bss.kite.cucc.client.dto.pos.KitePosGoodsDTO;
import com.iwhalecloud.bss.kite.manager.inst.KiteProdInst;
import com.iwhalecloud.bss.kite.manager.inst.KiteSceneInst;
import com.ztesoft.bss.common.bo.LoginInfo;

public interface IInitSceneOfferInstService {

    void initGiftOfferInst(String sceneInstId, String custId, String staffId, List<KitePosGoodsDTO> offerInsts, LoginInfo loginInfo);

    void initMainOfferInst(String sceneInstId, String custId, String staffId, List<KitePosGoodsDTO> offerInsts, LoginInfo loginInfo);

    void initAddRoleOfferInst(String sceneInstId, String custId, String staffId, List<KitePosGoodsDTO> offerInsts, LoginInfo loginInfo);

    void initAdditionalOfferInst(String sceneInstId, String custId, String staffId, List<KitePosGoodsDTO> offerInsts, LoginInfo loginInfo);

    void initOfferInstAcct(String sceneInstId, String operType, String custId, KitePosDTO kitePosDTO, LoginInfo loginInfo);

    void initOfferInstContract(String sceneInstId, String operType, String custId, KitePosDTO kitePosDTO, LoginInfo loginInfo);

    void initOfferInstDiscount(String sceneInstId, String operType, String custId, KitePosDTO kitePosDTO, LoginInfo loginInfo);

    void initOfferInstDelivery(String sceneInstId, String operType, String custId, KitePosDTO kitePosDTO, LoginInfo loginInfo);

    void initSerialNumbers(String sceneInstId, String operType, String custId, KitePosDTO kitePosDTO, LoginInfo loginInfo);

    boolean initAttachmentFromAttrGrp(KiteProdInst prodInst, List<KitePosAttrDTO> attrGroups, String offerId,String sceneInstId);

    String initBatchSignOfferInst(KiteSceneInst sceneInst, String custId, String staffId, List<KitePosGoodsDTO> posGoods, LoginInfo loginInfo);
}
